package com.ruoyi.jiaopei.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.jiaopei.domain.TbCurriculum;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 核销记录视图对象 tb_record
 *
 * @author macy
 * @date 2024-04-11
 */
@Data
@ExcelIgnoreUnannotated
public class TbRecordVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long id;

    /**
     * 老师ID
     */
    private Long teacherId;
    private SysUser teacherVo;

    /**
     * 学员ID
     */
    @ExcelProperty(value = "学员ID")
    private Long studentId;
    private TbStudentVo studentVo;

    /**
     * 课程ID
     */
    @ExcelProperty(value = "课程ID")
    private Long curriculumId;
    private TbCurriculumVo curriculumVo;

    /**
     * 课程时间
     */
    @ExcelProperty(value = "课程时间")
    private String courseDuration;

    /**
     * 课时
     */
    @ExcelProperty(value = "课时")
    private BigDecimal lessonHours;

    /**
     * 开始时间
     */
    @ExcelProperty(value = "开始时间")
    private String startHour;

    /**
     * 结束时间
     */
    @ExcelProperty(value = "结束时间")
    private String endHour;

    /**
     * 签到状态 1=未签到 2=已签到 3=已请假
     */
    @ExcelProperty(value = "签到状态 1=未签到 2=已签到 3=已请假", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "kj_student_status")
    private String status;

    /**
     * 签到照片
     */
    @ExcelProperty(value = "签到照片")
    private String photo;

    /**
     * 签到时间
     */
    @ExcelProperty(value = "签到时间")
    private Date signDate;

    /**
     * 评价
     */
    @ExcelProperty(value = "评价")
    private String evaluate;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;
    /**
     * 视频
     */
    private String video;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createdDate;

    /**
     * 发布状态 0=存稿 1=已发布
     */
    private String release;

}
